package org.dxy.api.dto.request.unit;

import lombok.Data;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import java.math.BigDecimal;

/**
 * @description: 创建单位管理请求DTO
 * @author: dxy
 * @createTime: 2025/1/21
 */
@Data
public class CreateUnitManageRequest {

    /**
     * 单位编码
     */
    @NotBlank(message = "单位编码不能为空")
    @Size(max = 50, message = "单位编码长度不能超过50个字符")
    private String unitCode;

    /**
     * 单位名称
     */
    @NotBlank(message = "单位名称不能为空")
    @Size(max = 100, message = "单位名称长度不能超过100个字符")
    private String unitName;

    /**
     * 单位符号
     */
    @Size(max = 20, message = "单位符号长度不能超过20个字符")
    private String unitSymbol;

    /**
     * 单位类型
     */
    @Size(max = 50, message = "单位类型长度不能超过50个字符")
    private String unitType;

    /**
     * 是否为基础单位（0-否，1-是）
     */
    private Integer isBaseUnit;

    /**
     * 换算系数（相对于基本单位）
     */
    private BigDecimal conversionFactor;

    /**
     * 基本单位ID（用于单位换算）
     */
    private Long baseUnitId;

    /**
     * 描述
     */
    @Size(max = 500, message = "描述长度不能超过500个字符")
    private String description;

    /**
     * 状态（0-禁用，1-启用）
     */
    @NotNull(message = "状态不能为空")
    private Integer status;
}